{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tutorial 1c: Generate hard-links using SPACEL" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from SPACEL import Scube\n", "import scanpy as sc\n", "import numpy as np\n", "import os\n", "import pandas as pd\n", "import seaborn as sns\n", "import matplotlib\n", "import pandas as pd\n", "import anndata\n", "from SPACEL import Splane\n", "import time" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def load_DLPFC(root_dir='../benchmarking_data/DLPFC12', section_id='151507'):\n", " # 151507, ..., 151676 12 in total\n", " ad = sc.read_visium(path=os.path.join(root_dir, section_id), count_file=section_id+'_filtered_feature_bc_matrix.h5', load_images=True)\n", " ad.var_names_make_unique()\n", "\n", " gt_dir = os.path.join(root_dir, section_id, 'gt')\n", " gt_df = pd.read_csv(os.path.join(gt_dir, 'tissue_positions_list_GTs.txt'), sep=',', header=None, index_col=0)\n", " ad.obs['original_clusters'] = gt_df.loc[:, 6]\n", " keep_bcs = ad.obs.dropna().index\n", " ad = ad[keep_bcs].copy()\n", " ad.obs['original_clusters'] = ad.obs['original_clusters'].astype(int).astype(str)\n", " # print(ad.obs)\n", " return ad" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\"\"\"dlpfc 1\"\"\"\n", "section_ids_list = [['151507', '151508']]\n", "data_dir = '../../spatial_benchmarking/benchmarking_data/DLPFC12'\n", "run_times = []\n", "save_dir_gt = './SPACEL/align_coords'\n", "\n", "for iter_ in range(1):\n", " for section_ids in section_ids_list:\n", " inputs = []\n", "\n", " i = 0\n", " # adata_list = []\n", " for section_id in section_ids:\n", " dataset = section_ids[0] + '_' + section_ids[1]\n", " \n", " adata = load_DLPFC(root_dir=data_dir, section_id=section_id)\n", " inputs.append(adata)\n", " \n", " start_time = time.time()\n", " if not os.path.exists(os.path.join(save_dir_gt, dataset)):\n", " os.makedirs(os.path.join(save_dir_gt, dataset))\n", " save_path = os.path.join(save_dir_gt, dataset, 'aligned_coordinates.csv')\n", "\n", " Scube.align(inputs,\n", " cluster_key='spatial_domain',\n", " n_neighbors = 15,\n", " n_threads=10,\n", " p=2,\n", " write_loc_path=save_path\n", " ) \n", " end_time = time.time()" ] } ], "metadata": { "kernelspec": { "display_name": "MaskGraphene", "language": "python", "name": "python3" }, "language_info": { "name": "python", "version": "3.9.19" } }, "nbformat": 4, "nbformat_minor": 2 }